A typical cellular wireless communication system provides numerous wireless coverage areas in which served wireless communication devices (WCDs) can operate. Each wireless coverage area may be defined by radio frequency radiation from a respective cellular base station, and each base station, together with additional network infrastructure, may provide connectivity with one or more transport networks such as the public switched telephone network (PSTN) and the Internet. With this arrangement, a WCD that is positioned within a given wireless coverage area may be served by the base station defining that coverage area and may thereby engage in communication, via that base station and perhaps additional network infrastructure, with one or more other WCDs, network servers, and other entities.
Aside from possibly allowing WCDs to thereby engage in conventional wireless telephone calls with each other, modern cellular wireless systems also enable WCDs to engage in real-time packet-based communication, such as voice-over-IP (VoIP) communication, with each other. To engage in such communication, each WCD may acquire a wireless packet data connection with its serving base station, and the WCDs may then engage in packet-based session setup signaling to set up a session.
A packet-based real-time media session between two WCDs can be set up and conducted in a peer-to-peer manner, where the WCDs exchange session setup signaling with each other to agree on session parameters, and the WCDs then exchange packet-based media (e.g., VoIP) with each other. Alternatively, a packet-based real-time media session between two or more WCDs can be set up and conducted via a call server that effectively functions as a bridge between the WCDs. In either case, the signaling used to set up the session may be packet-based signaling in accordance with the well known Session Initiation Protocol (SIP) for instance, and the WCDs may exchange packet-based real-time media with each other in accordance with a protocol such as the well known Real-time Transport Protocol (RTP) for instance.
In a server based arrangement, for example, a given WCD may initiate a session with one or more other WCDs by sending a SIP “INVITE” message via the WCD's base station and other network infrastructure to a call server situated on a packet-switched network. The INVITE message may designate the target WCDs individually or by a group ID number that the call server can correlate with the target WCDs, or the INVITE message may not identify any target, in which case the call server may perform a database lookup to identify one or more WCDs that are preset as “buddies” of the initiating WCD and thus should be treated as target(s) for the requested session.
Upon receipt of the INVITE from the initiating WCD, the call server may then itself send an INVITE to each target WCD. In turn, upon receipt of the INVITE, each target WCD may respond to the call server with a SIP “OK” message signaling acceptance of the invitation from the call server, and the call server may likewise respond to the initiating WCD with an OK signaling acceptance of the invitation from the initiating WCD. After perhaps additional signaling, such as exchange of SIP “ACK” messages, an RTP leg would be established (i) between the initiating WCD and the call server and (ii) between the call server and each target WCD. The call server may then bridge those RTP legs together in order to allow the WCDs to communicate with each other.
This type of process can be used to set up VoIP conference calls or other type of packet-based real time media sessions (e.g., video calls, etc.) between WCDs. Further, the process can be used to facilitate “instant connect” communication, such as push-to-talk (PTT), push-to-view (PTV) or similar communications, generally referred to as Push-to-X over cellular or PoC communications.